#ifndef __IRQ_H__
#define __IRQ_H__
#include "hvc.h"
#include "ivc.h"
#include "shyper_service.h"
#include "sys.h"

#define SIGIVC (SIGUSR1)

bool hvc_sys_handler(struct hvc_irq_arg *irq_arg);
bool hvc_vmm_handler(struct hvc_irq_arg *irq_arg);
bool hvc_ivc_handler(struct hvc_irq_arg *irq_arg);
bool hvc_network_handler(struct hvc_irq_arg *irq_arg);
bool hvc_mediated_handler(struct hvc_irq_arg *irq_arg);
bool hvc_security_handler(struct hvc_irq_arg *irq_arg);
bool hvc_config_handler(struct hvc_irq_arg *irq_arg);
bool hvc_unilib_handler(struct hvc_irq_arg *irq_arg);
bool hvc_shmem_handler(struct hvc_irq_arg *irq_arg);
void send_signal(u64 sig_num);

#endif